#定义一个统计指定目录大小的函数

import os

sum=0

#自定义一个获取文件大小的函数
def getsize(file):
    '''
    获取文件大小的函数
    '''
    global sum
    info=os.stat(file)             #获取目标文件的信息
    file_size=info.st_size         #获取目标文件的大小
    sum+=file_size

                 


#自定义获取目录大小的函数
def get_dir_size(dir1):
   
    #获取目录中的所有文件信息
    dlist=os.listdir(dir1)

    #遍历所有文件，并获取文件的大小
    for f in dlist:
        
        file=os.path.join(dir1,f)#为遍历文件添加目录路径

        #判断是否是文件
        if os.path.isfile(file):
           getsize(file)         #调用自定义获取文件大小的函数    

            
        #判断是否是目录
        if os.path.isdir(file):
            get_dir_size(file)    #递归调用自己，来获取子目录大小

    
     

#测试
get_dir_size("./aa")
print("该目录的大小是：{}字节,大约{:.2f}MB".format(sum,sum/2**20))
